[转载]Delphi 我为何离开你
原文地址:Delphi 我为何离开你作者:杯具de橙子
作为一个用了 Delphi 好多年,甚至还在 Borland 参加过实习的人,在近几年内也被问起为什么不愿意再用 Delphi,本来不愿意多说什么,毕竟用什么语言,那是个人喜好,或者说,做什么事用什么工具,我对语言并没有特别的爱好或是信仰。但是近期也看到了一些不那么好玩的现象,比如说 RAD Studio XE2 的预览版,这次我没有申请参加内测,但是却有很多朋友,拿到内测后,特地发给我,让我来玩玩,当然了,拿了别人的东西,也就不能再沉默了,多少也要说点什么。这次完全不想写什么评测,只是谈谈自己对这次 XE2 的看法。
在 Borland 把 IDE 相关的东西卖给了 Embarcadero 之后,曾有一度的上浮,这个必须承认,比如说 Unicode 的支持,语言特性上的增强等等,本来以为 Embarcadero 会吸取 Borland 的教训,踏踏实实的把接手的东西做好,但是我又一次失望了。说到底,Embarcadero 也是一家只知道骗钱的公司。
看一下从 Delphi2010 到现在的 XE2,有什么进步?不要说什么支持 Unicode 了,支持 Json 了,支持泛型了,这些东西不是该好几年前就实现的么?新版本无非就是修 bug,然后从外边合作一些东西内置进来。Embarcadero 语:无他,唯钱多尔,又无他,唯用户傻尔。
VCL 已显老态,虽然目前来看,依然是 windows 下最快的 GUI 构建框架,但是其健壮性却让人不敢恭维。这里也没有必要和其他平台来比较,只看 C++,MFC 已是大家公认的比较落后的框架,开发不便,但是它就是可以做出比 VCL 健壮得多的应用来,这是为什么?可能很多人不乐意了,说 C++ 都积累了那么多年了,给 C++ 写库,修 bug 的人是 Delphi 的多少多少倍,其实这都不是问题,问题在于,为什么大家愿意给 C++ 写东西。是 C++ 本身就多么优秀吗?我倒是觉得不见得。
Delphi 的控件也不少,甚至可以说,它是我见过控件最多的,这也是为什么当初能成为 VB 杀手的原因之一。但是现在来看,除了能杀 VB,还能杀谁?我不否认 Delphi 在开发 GUI 应用上的效率,但是也仅限简单的界面开发。举个简单的例子,要做到 360 软件管理器那样的复杂列表,或是 QQ 那样的界面效果,容易么?也许任何一个有经验的 Delphi 程序员都会毫不犹豫的说,这对我来说太容易了,但是我就想问,你实现这些花多大精力?很多东西老了,跟不上时代了,也跟不上更懒的程序员了,VCL 是一个什么样的框架呢?从上往下看,扩展很容易,控件很多,从下往上看,一滩死水。
这次的 XE2,给我的感觉不知是什么,或许我对它已经没有感情,装好后用了一整天,就不愿再用了。再说一下新的 UI 解决方案,可选 VCL 原生的 UI 方案,也可以选择 FireMonkey,这是一个从 vgScene 和 dxScene 改来的方案。但是不得不说,FireMonkey 实在太难以使用了,原本的 vgScene 或 dxScene 都非常简单易用,易扩展,但是现在,我只想得到一个词形容它,那就是坑爹。
再说编译器优化的问题,其实我早就不愿说了,都什么年代的事情了,编译效率和执行效率,你会选哪个?另外我居然还在一些论坛上看到有人说执行效率不重要,开发效率高就好了,这都是一群什么样的程序员啊,爱这么玩就自己玩,玩蛋去。
另外,还有 iOS 的支持,我不知道是谁那么大言不惭的说出支持这两个字,但是事实太残酷了。XE2 可以在 Windows 下建立 iOS 工程,并且把那个工程编译成 win32 程序来调试,但是问题就在于,真正要上 iOS 了,却必须将工程导出为 xcode 工程,然后在 mac 上使用 FPC 来编译。这个过程我自己试过,极其麻烦,还不如直接用 xcode,顺便说一句,xcode 在可用性上,远超 Delphi 的 IDE,我有什么理由用 Delphi 去写代码,再导给 xcode 编译?Embarcadero 的各位大神,你们倒是给我理由。iOS 开发是很热,那没错,Delphi 想支持它,也没错,但是现在这样,你敢说支持吗?
最后再提一下 Android 开发的支持,很抱歉我又一次违心的打出了支持二字。一个垃圾的 datasnap + websnap 解决方案,做出来的东西全是跑在 WebView 上,还需要 JDK 来编译,这不是坑爹是什么?一个正常的 Android 开发者都不会去使用如此的解决方案吧。
还有一些其他的东西,也懒得说了,当初做 Ribbon 的界面支持,没有 DevExpress 做得好,现在做 2D/3D,又没有 KsDev 原本做得好,Embarcadero 你们到底在干什么?无怪乎网上会有人称这种营销方式为“bug营销”,而且这每次的 bug 修正,除去收费昂贵不说,还带出了一大堆新的 bug,等待下次修正,于是又能赚到很多钱了吧。顺便再提一句,某次还真的想购买一个 Delphi 2010,但是官方网上看到的报价是 18,000 元,而真正到了要买的时候,他们却不认这个价,只出售 4 万元的版本,这是属于商业欺诈?还是说另一种营销方式?
以前我曾经说过,lazarus 和 Delphi 相比还差很远,到现在我依然这么说,但是这种差距必然会越来越小,我看得到 lazarus,看得到 FPC 的明显进步,但是 Delphi 呢?也许 Embarcadero 的人现在在笑着跟别人说,谁有钱呀我有钱,谁无耻呀我无耻,只可惜苦的是用户,痛的是那些现在或曾经深爱 Delphi 的程序员。
Embarcadero,虽然我在这里说的你们肯定看不到,但是我还是要说,你们是时候该醒醒了,如果你们想再次毁掉这个产品,那么不如趁早再卖给别人。钱要赚,但是也要凭良心赚。